using System;
using CodePlex.DnD4eCampaignManager.DnD4e;
using CodePlex.DnD4eCampaignManager.DnD4e.Interfaces;
using NUnit.Framework;

namespace CodePlex.DnD4eCampaignManager.CampaignManagerTests.DnD4eTests
{
    [TestFixture]
    public class SensesTests
    {
        [Test]
        public void HasSensesInsight()
        {
            const int insight = 11;
            Senses senses = new Senses { SensesInsight = insight };
            Assert.AreEqual(insight, senses.SensesInsight);
        }

        [Test]
        public void HasSensesInsightPassive()
        {
            const int insightPassive = 11;
            Senses senses = new Senses { SensesInsightPassive = insightPassive };
            Assert.AreEqual(insightPassive, senses.SensesInsightPassive);
        }

        [Test]
        public void HasSensesOther()
        {
            const string other = "darkvision";
            Senses senses = new Senses { SensesOther = other };
            Assert.AreEqual(other, senses.SensesOther);
        }

        [Test]
        public void HasSensesPerception()
        {
            const int perception = 11;
            Senses senses = new Senses { SensesPerception = perception };
            Assert.AreEqual(perception, senses.SensesPerception);
        }

        [Test]
        public void HasSensesPerceptionPassive()
        {
            const int perceptionPassive = 11;
            Senses senses = new Senses { SensesPerceptionPassive = perceptionPassive };
            Assert.AreEqual(perceptionPassive, senses.SensesPerceptionPassive);
        }

        [Test]
        public void ImplementsIEquatable()
        {
            Assert.IsInstanceOfType(typeof ( IEquatable<Senses> ), new Senses());
        }

        [Test]
        public void ImplementsISenses()
        {
            Assert.IsInstanceOfType(typeof ( ISenses ), new Senses());
        }
    }
}